<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=\, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="./lib/axios.js"></script>
    <script>
        axios.interceptors.response.use(
            function(response) {
                //数据剥离  剥离data
                return response.data
            },
            function(error){
                console.log('第二个函数error')
                //A001 抛出了一个错误，才回触发catch 。只要不是抛出错误以及代码报错，都不会进到catch里
                // return promise.reject(error)
                
                // return "hello" //B001  此时没有抛出错误 那么会进到then 并返回的是hello

                //------------ 利用这个特点可以做一些请求的补救 ------------ 
                //因为最下面的路径是错的所以这里可以再发一个正确的请求，把结果返回回去
                return axios({
                    url:'http://ajax-api.itheima.net/api/province'
                })
            }
        )

        axios({
            url:'http://ajax-api.itheima.net/api/province6666error66666' //这个路径是错的
        })
        .then(res=>{
            console.log('res:',res)//B001 输出：res: hello  因为上面return "hello"就传到res里了
        })
        .catch(err =>{
            console.log("err:",err)  //A001  输出： ReferenceError: promise is not defined
        })
    </script>
</body>
</html>